<?php

namespace MoChat\App\Sales\Contract;

interface SalesTaskContract
{
    /**
     * 删除任务
     * @param $id
     * @return int
     */
    public function deleteSalesTask($id): int;

    /**
     * @param $data
     * @return int
     */
    public function createSalesTask($data): int;

    /**
     * @param $where
     * @param array $filed
     * @return array
     */
    public function getSalesTaskList($where, array $filed = ['*']): array;

    /**
     * 修改
     * @param $id
     * @param $data
     * @return int
     */
    public function updateSalesTaskById($id, $data): int;

    /**
     * 展示
     * @param $id
     * @return array
     */
    public function showSalesTaskById($id): array;


    /**
     * 展示
     * @param $id
     */
    public function getSalesTaskByIdLock($id);

    /**
     * 更新已分配的指标
     * @param $id
     * @param $number
     * @return mixed
     */
    public function updateAllocatedSalesTask($id, $number);

    /**
     * 获取总任务
     * @param $corpId
     * @param $startTime
     * @param $endTime
     * @return mixed
     */
    public function getTotalSales($corpId,$startTime,$endTime);
}